# -*- encoding: utf-8 -*-
# -*- coding: utf-8 -*-
# &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
# Odoo Connector
# QQ:35350428
# 邮件:sale@100china.cn
# 手机：13584935775
# 作者：'odoo'
# 公司网址： www.odoo.pw  www.100china.cn
# Copyright 昆山一百计算机有限公司 2012-2016 Amos
# 日期：2014-06-18
# &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

from odoo import api, fields, models, tools, SUPERUSER_ID, _

class groups_wizard(models.TransientModel):
    _name = "groups.wizard"
    _description = u"添加权限"

    name = fields.Char(string=u'URL地址')
    model = fields.Char(string=u'对象')

    perm_read = fields.Boolean(string=u'读取', default=True)
    perm_write = fields.Boolean(string=u'修改', default=True)
    perm_create = fields.Boolean(string=u'创建', default=True)
    perm_unlink = fields.Boolean(string=u'删除', default=True)


    @api.one
    def add_groups(self):
        context = dict(self._context or {})
        active_id = context.get('active_id')
        active_model = context.get('active_model')
        groups = self.env[active_model].browse(active_id)

        if self.name:
            url = self.name
            model_name = ''
            values = url.split('?')[-1].replace('debug#','')
            print values
            for key_value in values.split('&'):
                for key in key_value.split('='):
                    if key == 'model':
                        model_name = key_value.replace('model=','')
            model = self.env['ir.model'].sudo().search([('model', '=', model_name)], limit=1)

            if model:
                self._cr.execute('insert into amos_groups_model_rel (groups_id,model_id) values(%s,%s)' % (
                    groups.id, model.id))

        if self.model:
            model = self.env['ir.model'].sudo().search([('model', '=', self.model.strip())], limit=1)
            if model:
                access_pram = {
                    'model_id': model.id,
                    'name': model.name,
                    'perm_read': self.perm_read,
                    'perm_write': self.perm_write,
                    'perm_create': self.perm_create,
                    'perm_unlink': self.perm_unlink,
                    'group_id': active_id,
                }
                self.env["ir.model.access"].sudo().create(access_pram)
